Warning: This dashboard contains the results of a predictive model that was not built by an epidemiologist.

Note: Click a country name to open a search results page for that country’s COVID-19 news.

Based on data up to: 2022-04-03

/opt/hostedtoolcache/Python/3.8.12/x64/lib/python3.8/site-packages/jupyter_client/session.py:716: UserWarning:

Message serialization failed with:
Out of range float values are not JSON compliant
Supporting this message is deprecated in jupyter-client 7, please make sure your message is JSON-compliant

World map (interactive)

Hover mouse over map for detailed information.

Tip: Select columns to show on map to from the dropdown menus. The map is zoomable and draggable.

Tables

Projected need for ICU beds

Countries sorted by current estimated need, split into Growing and Recovering countries by current transmission rate. Only for countries with ICU need higher than 0.1 beds per 100k. More details in Appendix.

Growing countries (transmission rate above 5%)

  Estimated
current
ICU need
per 100k
population
Estimated
daily
transmission
rate
Projected
ICU need
per 100k
In 14 days
Projected
ICU need
per 100k
In 30 days
Pre-COVID
ICU
capacity
per 100k
🇰🇷 South Korea 32.95 5.4% ± 1.6% 27.8 ± 4.0 21.5 ± 5.9 10.6
🇦🇹 Austria 26.89 6.3% ± 1.9% 21.0 ± 2.8 15.1 ± 4.0 21.8
🇩🇪 Germany 21.87 noisy data noisy data noisy data 29.2
🇬🇷 Greece 17.15 7.1% ± 1.8% 15.3 ± 2.2 12.9 ± 3.8 6.0
🇳🇱 Netherlands 15.95 5.3% ± 1.4% 11.3 ± 1.0 7.3 ± 1.4 6.4
🇨🇾 Cyprus 15.73 7.1% ± 1.7% 14.4 ± 2.1 12.4 ± 3.5 -
🇫🇷 France 14.01 13.2% ± 2.4% 15.0 ± 2.0 15.2 ± 3.8 11.6
🇦🇺 Australia 10.97 6.5% ± 1.2% 11.3 ± 1.4 11.3 ± 2.9 9.1
🇱🇹 Lithuania 10.73 6.1% ± 1.5% 8.2 ± 0.9 5.9 ± 1.3 15.5
🇮🇹 Italy 10.22 7.8% ± 0.9% 9.9 ± 0.7 9.2 ± 1.4 12.5
🇸🇮 Slovenia 9.91 10.1% ± 3.2% 8.4 ± 1.4 6.7 ± 2.3 6.4
🇸🇰 Slovakia 9.68 9.0% ± 2.3% 7.5 ± 0.8 5.3 ± 1.2 9.2
🇱🇺 Luxembourg 9.15 noisy data 7.9 ± 3.7 noisy data 24.8
🇵🇹 Portugal 8.74 noisy data 6.6 ± 2.4 noisy data 4.2
🇬🇧 United Kingdom 7.03 noisy data 5.4 ± 1.9 noisy data 6.6
🇲🇹 Malta 6.66 10.9% ± 1.4% 10.1 ± 1.5 15.5 ± 4.5 -
🇮🇱 Israel 5.92 8.5% ± 1.7% 5.2 ± 0.6 4.2 ± 0.9 -
🇧🇪 Belgium 5.91 noisy data 4.4 ± 2.0 noisy data 15.9
🇨🇿 Czechia 4.78 6.6% ± 3.1% 3.6 ± 0.7 2.5 ± 1.0 11.6
🇨🇱 Chile 3.88 7.5% ± 0.9% 3.2 ± 0.2 2.5 ± 0.3 -
🇹🇹 Trinidad and Tobago 3.16 7.9% ± 3.4% 2.1 ± 0.3 1.3 ± 0.3 -
🇭🇷 Croatia 3.10 7.8% ± 2.5% 2.8 ± 0.5 2.4 ± 1.0 -
🇧🇬 Bulgaria 2.98 8.9% ± 4.2% 2.0 ± 0.3 1.3 ± 0.4 -
🇬🇪 Georgia 2.96 7.6% ± 2.2% 1.7 ± 0.1 0.8 ± 0.1 -
🇭🇺 Hungary 2.31 noisy data 1.7 ± 0.6 noisy data 13.8
🇲🇰 North Macedonia 2.30 33.4% ± 5.8% 1.9 ± 0.2 1.4 ± 0.2 -
🇧🇹 Bhutan 1.84 9.9% ± 1.3% 3.3 ± 0.6 6.0 ± 2.5 -
🇷🇴 Romania 1.71 5.1% ± 1.4% 1.2 ± 0.1 0.8 ± 0.2 -
🇹🇭 Thailand 1.61 5.5% ± 0.3% 1.6 ± 0.1 1.6 ± 0.1 10.4
🇲🇾 Malaysia 1.59 5.7% ± 0.8% 1.3 ± 0.1 0.9 ± 0.1 3.4
🇧🇦 Bosnia 1.36 noisy data 0.9 ± 0.2 0.5 ± 0.3 -
🇲🇩 Moldova 1.28 6.2% ± 1.2% 0.8 ± 0.0 0.5 ± 0.0 -
🇨🇦 Canada 1.15 noisy data 1.2 ± 0.5 noisy data 13.5
🇲🇪 Montenegro 0.99 11.9% ± 1.6% 0.8 ± 0.0 0.6 ± 0.1 -
🇧🇷 Brazil 0.88 64.7% ± 27.0% 0.7 ± 0.1 0.5 ± 0.1 -
🇺🇸 US 0.88 noisy data 0.8 ± 0.2 noisy data 34.7
🇧🇭 Bahrain 0.85 7.1% ± 1.3% 0.6 ± 0.0 0.4 ± 0.0 -
🇿🇦 South Africa 0.80 39.1% ± 7.0% 0.8 ± 0.1 0.8 ± 0.2 -
🇻🇺 Vanuatu 0.66 10.8% ± 4.0% noisy data noisy data -
🇧🇼 Botswana 0.60 noisy data 0.4 ± 0.2 noisy data -
🇲🇽 Mexico 0.52 39.3% ± 13.2% 0.4 ± 0.0 0.2 ± 0.1 1.2
🇵🇾 Paraguay 0.47 noisy data 0.3 ± 0.1 noisy data -
🇬🇹 Guatemala 0.47 6.2% ± 2.9% 0.4 ± 0.1 0.3 ± 0.1 -
🇦🇷 Argentina 0.46 noisy data 0.3 ± 0.0 0.2 ± 0.1 -
🇱🇦 Laos 0.44 noisy data noisy data noisy data 2.1
🇨🇺 Cuba 0.38 5.4% ± 0.3% 0.4 ± 0.0 0.3 ± 0.0 -
🇮🇷 Iran 0.36 10.8% ± 2.8% 0.3 ± 0.0 0.2 ± 0.0 4.6
🇵🇦 Panama 0.33 6.4% ± 1.3% 0.2 ± 0.0 0.2 ± 0.0 -
🇨🇴 Colombia 0.20 16.1% ± 1.2% 0.1 ± 0.0 0.1 ± 0.0 -
🇧🇴 Bolivia 0.20 7.7% ± 2.7% 0.1 ± 0.0 0.1 ± 0.0 -

Recovering countries (tranmission rate below 5%)

  Estimated
current
ICU need
per 100k
population
Estimated
daily
transmission
rate
Projected
ICU need
per 100k
In 14 days
Projected
ICU need
per 100k
In 30 days
Pre-COVID
ICU
capacity
per 100k
🇮🇸 Iceland 18.31 noisy data 10.9 ± 1.4 5.7 ± 1.6 9.1
🇳🇿 New Zealand 17.68 4.5% ± 1.0% 15.0 ± 1.7 12.0 ± 2.8 -
🇱🇻 Latvia 15.22 4.6% ± 1.9% 10.1 ± 1.1 6.1 ± 1.4 9.7
🇨🇭 Switzerland 14.72 noisy data 9.8 ± 2.4 noisy data 11.0
🇩🇰 Denmark 10.52 3.7% ± 0.9% 6.7 ± 0.4 3.9 ± 0.5 6.7
🇪🇪 Estonia 10.37 4.4% ± 1.4% 7.4 ± 0.8 4.9 ± 1.2 14.6
🇫🇮 Finland 9.25 noisy data 7.5 ± 3.2 noisy data 6.1
🇸🇬 Singapore 6.72 3.0% ± 0.5% 4.8 ± 0.2 3.1 ± 0.3 11.4
🇧🇳 Brunei 6.18 2.6% ± 0.4% 4.0 ± 0.2 2.4 ± 0.2 13.1
🇻🇳 Vietnam 5.32 3.0% ± 0.4% 3.7 ± 0.2 2.3 ± 0.2 -
🇮🇪 Ireland 5.17 noisy data 3.9 ± 1.3 noisy data 6.5
🇳🇴 Norway 4.80 1.8% ± 0.8% 3.0 ± 0.3 1.6 ± 0.3 8.0
🇯🇵 Japan 4.28 5.0% ± 0.3% 4.1 ± 0.1 3.9 ± 0.3 7.3
🇲🇺 Mauritius 3.87 noisy data 2.2 ± 0.4 1.1 ± 0.4 -
🇪🇸 Spain 2.87 noisy data 2.0 ± 0.5 noisy data 9.7
🇺🇾 Uruguay 2.63 3.4% ± 1.2% 1.8 ± 0.2 1.1 ± 0.2 -
🇷🇺 Russia 2.42 2.5% ± 0.2% 1.5 ± 0.0 0.8 ± 0.0 8.3
🇵🇱 Poland 1.93 noisy data 1.2 ± 0.1 0.7 ± 0.2 6.9
🇸🇧 Solomon Islands 1.89 noisy data noisy data noisy data -
🇷🇸 Serbia 1.71 4.2% ± 0.9% 1.3 ± 0.1 0.9 ± 0.2 -
🇸🇪 Sweden 1.23 noisy data 0.7 ± 0.1 0.4 ± 0.1 5.8
🇧🇾 Belarus 1.03 3.0% ± 0.7% 0.8 ± 0.1 0.5 ± 0.1 -
🇹🇷 Turkey 0.91 4.4% ± 0.7% 0.6 ± 0.0 0.4 ± 0.0 47.1
🇺🇦 Ukraine 0.73 0.0% ± 0.0% 0.4 ± 0.0 0.2 ± 0.0 -
🇨🇷 Costa Rica 0.72 noisy data 0.5 ± 0.1 noisy data -
🇲🇻 Maldives 0.61 0.0% ± 0.0% 0.3 ± 0.0 0.1 ± 0.0 -
🇹🇳 Tunisia 0.58 0.0% ± 0.0% 0.3 ± 0.0 0.1 ± 0.0 -
🇦🇲 Armenia 0.56 0.9% ± 0.2% 0.3 ± 0.0 0.1 ± 0.0 -
🇱🇧 Lebanon 0.39 3.1% ± 0.7% 0.2 ± 0.0 0.1 ± 0.0 -
🇱🇰 Sri Lanka 0.36 1.6% ± 0.4% 0.2 ± 0.0 0.1 ± 0.0 2.3
🇦🇿 Azerbaijan 0.33 0.6% ± 0.1% 0.2 ± 0.0 0.1 ± 0.0 -
🇵🇸 West Bank and Gaza 0.32 0.0% ± 0.0% 0.2 ± 0.0 0.1 ± 0.0 -
🇱🇾 Libya 0.27 noisy data 0.1 ± 0.0 0.1 ± 0.0 -
🇪🇨 Ecuador 0.27 noisy data 0.1 ± 0.0 0.1 ± 0.0 -
🇭🇳 Honduras 0.24 noisy data 0.1 ± 0.0 0.1 ± 0.0 -
🇧🇿 Belize 0.22 noisy data 0.1 ± 0.0 0.1 ± 0.0 -
🇮🇩 Indonesia 0.20 noisy data 0.1 ± 0.0 0.1 ± 0.0 2.7
🇸🇷 Suriname 0.20 noisy data 0.1 ± 0.0 0.1 ± 0.0 -
🇲🇳 Mongolia 0.20 0.0% ± 0.0% 0.1 ± 0.0 0.0 ± 0.0 8.8
🇦🇱 Albania 0.18 3.7% ± 0.7% 0.1 ± 0.0 0.1 ± 0.0 -
🇸🇻 El Salvador 0.15 0.7% ± 0.3% 0.1 ± 0.0 0.0 ± 0.0 -
🇵🇭 Philippines 0.14 3.9% ± 1.8% 0.1 ± 0.0 0.1 ± 0.0 2.2
🇬🇾 Guyana 0.13 1.3% ± 0.3% 0.1 ± 0.0 0.0 ± 0.0 -
🇪🇬 Egypt 0.13 0.0% ± 0.0% 0.1 ± 0.0 0.0 ± 0.0 -
🇰🇼 Kuwait 0.12 2.1% ± 0.0% 0.1 ± 0.0 0.0 ± 0.0 -
🇨🇳 China 0.11 noisy data 0.1 ± 0.0 0.1 ± 0.0 3.6

Appendix

Interactive plot of model predictions and past data

Tip: Choose a country from the drop-down menu to see the calculations used in the tables above and the dynamics of the model.

Projected Affected Population percentages

Top 20 countries with most estimated recent cases. Sorted by number of estimated recent cases during the last 5 days. More details in Appendix.

  Estimated
recent cases
during
last 5 days
Estimated
total
affected
population
percentage
Estimated
daily
transmission
rate
Projected
total
affected
percentage
In 14 days
Projected
total
affected
percentage
In 30 days
Current
testing
bias
🇰🇷 South Korea 905,775 28.9% 5.4% ± 1.6% 34.7% ± 2.1% 39.9% ± 4.5% 1.0
🇩🇪 Germany 876,721 32.1% noisy data 35.7% ± 4.2% 39.7% ± 10.7% 1.0
🇫🇷 France 553,130 56.8% 13.2% ± 2.4% 59.7% ± 0.7% 63.2% ± 1.9% 1.0
🇻🇳 Vietnam 346,074 24.3% 3.0% ± 0.4% 25.3% ± 0.2% 26.0% ± 0.3% 1.0
🇮🇹 Italy 277,825 39.0% 7.8% ± 0.9% 40.5% ± 0.2% 42.2% ± 0.6% 1.0
🇦🇺 Australia 209,189 19.0% 6.5% ± 1.2% 21.8% ± 0.7% 25.2% ± 1.9% 1.0
🇯🇵 Japan 196,605 5.7% 5.0% ± 0.3% 6.2% ± 0.0% 6.8% ± 0.1% 1.0
🇺🇸 US 172,269 54.2% noisy data 54.3% ± 0.1% 54.5% ± 0.3% 1.8
🇬🇧 United Kingdom 144,826 50.3% noisy data 51.1% ± 0.8% 51.8% ± 1.8% 1.0
🇧🇷 Brazil 127,306 95.6% 64.7% ± 27.0% 95.8% ± 0.1% 96.0% ± 0.2% 1.5
🇿🇦 South Africa 109,689 87.0% 39.1% ± 7.0% 87.6% ± 0.2% 88.4% ± 0.4% 18.6
🇹🇭 Thailand 108,140 8.9% 5.5% ± 0.3% 9.4% ± 0.0% 10.1% ± 0.1% 1.0
🇨🇳 China 86,734 0.3% noisy data 0.3% ± 0.0% 0.3% ± 0.0% 1.7
🇦🇹 Austria 82,200 49.2% 6.3% ± 1.9% 52.1% ± 1.1% 54.6% ± 2.3% 1.0
🇳🇱 Netherlands 76,993 54.5% 5.3% ± 1.4% 55.8% ± 0.4% 56.8% ± 0.9% 1.0
🇷🇺 Russia 71,833 50.3% 2.5% ± 0.2% 50.4% ± 0.0% 50.5% ± 0.0% 1.0
🇬🇷 Greece 68,378 40.9% 7.1% ± 1.8% 43.0% ± 0.7% 45.2% ± 1.7% 1.0
🇲🇾 Malaysia 63,108 43.3% 5.7% ± 0.8% 43.8% ± 0.1% 44.3% ± 0.2% 1.0
🇲🇽 Mexico 55,449 93.8% 39.3% ± 13.2% 93.9% ± 0.0% 94.0% ± 0.1% 6.0
🇨🇱 Chile 55,301 52.0% 7.5% ± 0.9% 52.8% ± 0.1% 53.7% ± 0.3% 2.5

Methodology

  • I'm not an epidemiologist. This is an attempt to understand what's happening, and what the future looks like if current trends remain unchanged.
  • Everything is approximated and depends heavily on underlying assumptions.
  • Projection is done using a simple SIR model (see examples) combined with the approach in Total Outstanding Cases:
    • Growth rate is calculated over the 5 past days by averaging the daily growth rates.
    • Confidence bounds are calculated by from the weighted standard deviation of the growth rate over the last 5 days. Model predictions are calculated for growth rates within 1 STD of the weighted mean. The maximum and minimum values for each day are used as confidence bands.
    • Transmission rate, and its STD are calculated from growth rate and its STD using active cases estimation mentioned above.
    • For projections (into future) very noisy projections (with broad confidence bounds) are not shown in the tables.
    • Where the rate estimated from Total Outstanding Cases is too high (on down-slopes) recovery probability if 1/20 is used (equivalent 20 days to recover).
  • Total cases are estimated from the reported deaths for each country:
    • Each country has a different testing policy and capacity and cases are under-reported in some countries. Using an estimated IFR (fatality rate) we can estimate the number of cases some time ago by using the total deaths until today.
    • IFRs for each country is estimated using the age adjusted IFRs from International IFRS study and UN demographic data for 2020. These IFRs can be found in df['age_adjusted_ifr'] column.
    • The average fatality lag is assumed to be 8 days on average for a case to go from being confirmed positive (after incubation + testing lag) to death. This is the same figure used by "Estimating The Infected Population From Deaths".
    • Testing bias adjustment: the actual lagged case fatality rate is then divided by the age adjusted IFR to estimate the testing bias in a country. To account for testing bias changes (e.g. increased testing capacity) this is done on a rolling window basis of two months (with at least 300 deaths). The estimated testing bias then multiplies the reported case numbers for each date to estimate the true case numbers (=case numbers that would be consistent with the deaths and the age adjusted IFR).
  • ICU need is calculated and age-adjusted as follows:
    • UK ICU ratio was reported as 4.4% of active reported cases.
    • Using UKs ICU ratio, UK's testing bias, and IFRs corrected for age demographics we can estimate each country's ICU ratio (the number of cases requiring ICU hospitalisation).
    • Active cases for ICU estimation are taken from the SIR model.
    • Pre COVID-19 ICU capacities are from Wikipedia (OECD countries mostly) and CCB capacities in Asia. The current capacities are likely much higher as some countries already doubled or even quadrupled their ICU capacities.